package com.yourenbang.lingyun.transaction.web.service.manage;

import com.yourenbang.lingyun.core.message.Result;
import com.yourenbang.lingyun.core.model.vo.PageVO;
import com.yourenbang.lingyun.transaction.web.domain.dto.fund.ManageChangeFundDTO;
import com.yourenbang.lingyun.transaction.web.domain.dto.manage.*;
import com.yourenbang.lingyun.transaction.web.domain.vo.manage.ManageActivateRewardVO;

/**
 * @Description
 * @Date 2020/12/3 16:48
 * @Created by Jason
 */
public interface ManageFundService {
    /**
     * 资金账户明细
     */
    Result<PageVO> queryFundBill(ManageFundBillDTO dto);

    /**
     * 资金账户明细-津贴
     */
    Result<PageVO> queryFundBillAllowance(ManageFundBillDTO dto);

    /**
     * 用户资金账户列表
     */
    Result<PageVO> queryUserAccountList(ManageUserAccountDTO dto);

    /**
     * 返现关系列表
     */
    Result<PageVO<ManageActivateRewardVO>> queryRewardList(ManageAllyActivateRewardDTO dto);

    /**
     * 重置激活返现
     */
    Result resetActivateReward(ManageResetActivateRewardDTO dto);

    /**
     * 作废激活返现
     */
    Result invalidActivateReward(ManageResetActivateRewardDTO dto);

    /**
     * 管理后台账户加账
     */
    Result manageAddFund(ManageChangeFundDTO dto);

    /**
     * 管理后台账户减账
     */
    Result manageSubtractFund(ManageChangeFundDTO dto);

    /**
     * 管理后台加帐冲正
     */
    Result manageReversalFund(ManageChangeFundDTO dto);

    /**
     * 添加提现负债记录
     */
    Result addWithdrawalDebitList(ManageAddWithdrawalDebitDTO dto);

    /**
     * 查询提现负债记录
     */
    Result withdrawalDebitList(ManageWithdrawalDebitListDTO dto);

    /**
     * 解除提现负债名单
     */
    Result removeWithdrawalDebitList(ManageRemoveWithdrawalDebitListDTO dto);

    Result delActivateReward(ManageResetActivateRewardDTO dto);

    void exportUserAccount(ManageUserAccountExportDTO dto);
}
